Performance measurement of a software application is generally carried out to determine how various components of the software application perform under various workload conditions. The performance measurement may be conducted at various stages in the lifecycle of the software application, including during development, testing, profiling and monitoring. It is also used to validate and verify other attributes of the software application, such as scalability, reliability and resource usage. Generally, the performance of the software application is measured based on various performance parameters for example, memory statistics, processor statistics, network statistics, thread statistics, response time, etc. Such performance measurement is usually carried out by an application team and associated stakeholders.
The user conducting the performance measurement then analyzes the measurement results and may provide suggestions to the application team. The suggestions can relate to various aspects of the application, the hardware setup, the runtime conditions, and the like. Based on the measurement results and the suggestions, the application team may take further steps as required.
Sometimes, implementing a suggestion to improve one performance parameter may degrade the performance of the application with respect to another performance parameter. Hence a user may again measure the various performance parameters and send suggestions for improving the performance. This cycle of giving suggestions and measuring performance of a software application usually continues till the performance parameters of the software application fall within a pre-specified acceptable range.